Method and apparatus for updating a control file

ABSTRACT

A method of simultaneously upgrading control files in mobile devices ( 5 ) and remote devices ( 45 ) utlising Cell Broadcast messages. A control file is divided into a number of packets which are sent in the user data sections ( 18, 20 ) of a sequence of Cell Broadcasts messages. The mobile data ( 5 ) or remote device ( 45 ) reassembles the packets ( 18, 20 ) and loads the control file if it passes error-checking tests. The control file may be operating software, operational parameters, control commands or SIM card files. The remote device may be a monitoring device, a consumer appliances, a vending machine etc. The method provides simultaneous “Flash upgrades” to multiple mobile devices in a transparent manner with minimal network overhead. A system for effecting the method and a remotely updatable device are also disclosed.

FIELD OF THE INVENTION

The invention relates to a method of updating a control file and systemsand devices for implementing the method. Cell Broadcast messages areutilised to simultaneously send portions of a control file to remotedevices to update control files of the remote devices.

BACKGROUND TO THE INVENTION

GSM mobile networks have the capability of sending out data using a pushonly technique known as “Cell Broadcast”. This is a one to manytechnique enabling network operators to send content such as news,geographical information, weather forecasts etc to selected customers.This technique is similar to the “teletext” facility available intelevision systems.

A Cell Broadcast message may be broadcast to all mobile devices with noacknowledgement being returned by the mobile devices, unlike the shortmessage service (SMS) where an acknowledgement is returned.

Mobile devices such as mobile phones store operating softwarecontrolling the operation of the device. It is sometimes desirable toupdate the operating software of a mobile device. Such software updatingis typically effected in a peer-to-peer manner. This may involvephysical delivery of a mobile device to a provider to effect a softwareupdate. For a cell phone this may require the issuance of a replacementSIM (Subscriber Identity Module) card.

There are a number of other remote devices, such as utility meters,monitoring devices, consumer appliances, security systems and vendingmachines for which it would be convenient to remotely and simultaneouslyupdate control files, including software files or operating parameterfiles. It would also be convenient to issue commands to such devicesremotely.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a method ofsimultaneously updating control files of a plurality of remote devicesin a convenient and efficient manner or to at least provide the publicwith a useful choice.

According to a first aspect of the invention there is provided a methodof transferring a control file from a source device to a remote devicevia a cellular communication link comprising the steps of:

-   -   i. packing a control file into one or more Cell Broadcast        message;    -   ii. transmitting the one or more Cell Broadcast message via one        or more wireless transmitter;    -   iii. receiving the Cell Broadcast messages at a remote device;        and    -   iv. extracting and reassembling the control file at the remote        device.

The control file may be operating software, firmware software, one ormore operational parameter or one or more control command. The remotedevice may be a cellphone, utility meter, monitoring device, consumerappliance (e.g. a digital decoder, video recorder, fridge etc), securitysystem, vending machine etc.

Each Cell Broadcast message may include error-checking data. A finalCell Broadcast message may include error-checking data to enableerror-checking of the reassembled control file. Each message may includea generic device type data section and a specific device type datasection. An acknowledgement may be sent by the remote device once anupdated control file has been loaded via a communication method otherthan the Cell Broadcast method.

According to further aspect of the invention there is provided a systemfor simultaneously sending a control file to a plurality of remotedevices via a cellular communications network including:

-   a central controller which divides the control file into a plurality    of data packets and provides the data packets to a plurality of    wireless transmitters of a cellular communication network; and-   a plurality of wireless transmitters of a cellular communication    system which transmit the data packets as part of Cell Broadcast    messages to each remote device.

There is further provided a remotely updatable device programmed tooperate in accordance with a control file comprising:

-   a radio receiver capable of receiving Cell Broadcast messages;-   a processor for extracting user data from Cell Broadcast messages    and assembling it into a control file; and-   programmable memory for storing a received assembled control file.

The programmable memory may store operating software, SIM card files,one or more operational parameter or one or more control command. Theprogrammable memory may be an EPROM, EEPROM, Flash or similar memory.The device may be responsive to a control command to initiate an action.The device may be a cellular phone, utility meter, monitoring device,consumer appliance, security device, vending machine etc.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described by way of example with reference tothe accompanying drawings in which:

FIG. 1: shows a GSM cellular communication network and a number ofconnected mobile devices;

FIG. 2: shows the format of a Cell Broadcast message;

FIGS. 3 a to 3 d: show a sequence of Cell Broadcast messages carrying apayload consisting of packets of a control file;

FIG. 4: shows the structure of the CB User Data field of the messagessent in FIGS. 3 a to 3 d;

FIG. 5: shows the steps involved in sending a control file to a remotedevice;

FIG. 6: shows a GSM cellular network with a plurality of remote devicesconnected by mobile devices; and

FIG. 7: shows a block diagram of a remote device and mobile device asshown in FIG. 6.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

FIG. 1 shows a block diagram of part of a GSM cellular network includinga central controller 1 connected to three transmitters 2, 3 and 4. Aplurality of mobile devices 5 receive transmissions from respectivetransmitters within respective cells. The GSM mobile network has thecapability of sending Cell Broadcast messages simultaneously fromcentral controller 1 to transmitters 2, 3 and 4 for reception by allconnected mobile devices 5. Such messages typically include content suchas the geographical location of a cell, weather information, news etc.

FIG. 2 shows the format of a standard Cell Broadcast message. Eachmessage consists of a Cell Broadcast Header field 6 (CB Header) of 6bytes and a user data field 7 (CB User Data) of 82 bytes. The CB Headerfield 6 consists of a two byte serial number field 8, a two byte messageID field 9, a one byte data coding field 10 and a one byte pageparameter field 11.

The serial number field 8 consists of a two bit geographical scope (GS)field 12, a ten bit message code field 13 and a four bit update numberfield 14. The geographical scope field enables control of the range ofbroadcast of a Cell Broadcast message and display options. Ageographical scope value of 3 enables a cell wide broadcast without themessage being displayed. Alternatively a Cell Broadcast message may besent only to a selected geographic region.

Message ID field 9 gives the channel number. A large number of channelsare available to network operators for network specific Cell Broadcasts.Data coding field 10 defines the data format (e.g. GSM 7). Pageparameter field 11 includes 4 bits indicating the current page numberand 4 bits indicating the total number of pages.

Mobile devices 5 include programmable memory for storing operatingsoftware which controls the operation of the mobile devices 5. Accordingto the method of the invention “Flash upgrades” of operating softwaremay be sent to mobile devices 5 utilising the Cell Broadcast facility.Updated operating software may be sent in one or more packet of userdata of Cell Broadcast messages to the mobile devices 5. Mobile devices5 may reassemble the packets of data and install the updated operatingsoftware. This enables the operating software of multiple devices to beupgraded simultaneously in a manner that is imperceptible to the user.

Referring to FIGS. 3 a to 4 a possible format of Cell Broadcast messagesto facilitate “flash upgrades” of operating software will be described.Similar formats may be used in keeping with the teachings of thisinvention. The exact configuration may vary from system to system anddifferent device types as well. FIGS. 3 a to 3 d show a sequence of CellBroadcast messages used to send packets of “payload” data to mobiledevices 5 to update their operating software. Each Cell Broadcastmessage consists of a header 15, 17, 19 and 21 and a user data section16, 18, 20 and 22.

FIG. 4 shows the currently preferred format of the user data portion ofeach Cell Broadcast message. Of the 82 bytes of user data 16, four bytesare allocated to header 23 and two bytes are allocated to anerror-checking data field 25. This leaves 76 bytes of “payload” data 24.Header 23 includes a 2 byte group ID field which is used to identify thegeneric device type for which the message is intended and a 1 bytedevice type field 27 which is used to identify the specific device typefor which the message is intended. Preferably, the generic device typefield 26 may define a general category of device whereas the specificdevice type field 27 may define a specific model or models. The revisionnumber field 28 (in this case a one byte field) indicates the version ofthe upgrade so that a receiving device can determine whether it needs toload the upgrade.

The message code field 13 shown in FIG. 2 may be utilised to indicatethe number of a packet in a sequence of packets. With ten bits thisenables 1024 packets to be identified (i.e. 77824 bytes). The updatenumber field 14 may be utilised to indicate the number of a transmissionseries where an update is transmitted many times. The geographical scopefield 12 may be set to 3 so that the Cell Broadcast messages are sentcell wide without being displayed.

The user data of a first Cell Broadcast message in a series (FIG. 3 a)may be a special data description packet which contains informationabout the complete payload. Intermediate Cell Broadcast messages (FIGS.3 b and 3 c) may contain payload data being packets of the operatingsoftware file, type of error checking employed, security measuresemployed etc. The number of intermediate Cell. Broadcast messages mayvary depending upon the length of the operating software file, type oferror checking employed, security method employed etc. The final CellBroadcast message (FIG. 3 d) may contain error-checking data to enablethe reassembled operating software file to be error-checked.

FIG. 5 shows a flow diagram of the currently preferred process ofupdating an operating software file. In step 29 an operating softwarefile is divided into 76 byte packets to be packed into field 24 (FIG.4). A checksum value is generated for field 25 based upon the datacontained in field 24 using an error-checking algorithm such as a CRC.The group ID field 26 and device type field 27 are assigned dependingupon the target device. A revision number is assigned to field 28. Thegeographical scope field 12 (FIG. 2) is set to the value “3” and thepacket number is inserted in field 13. The update number 14 isincremented for each transmission of the entire series (from 0 to 15 andcycling back to 0). As mobile devices may not always be switched on andall packets may not be accurately received the entire sequence ofpackets may be sent periodically. Message ID field 9 is set dependingupon the Channel selected by the network operator. Data coding field 10will typically be set to GSM 7 and page parameter field 11 is not used.

The first packet is a data description packet and the last packet is anerror-checking packet for the entire reassembled operating softwarefile. The intermediate packets are portions of the operating softwarefile.

In step 30 the packets are sent via Cell Broadcast messages transmittedby the GSM cellular network. These are received by each connected mobiledevice 5 in step 31. In step 32 a processor of each mobile device 5checks each packet of user data 16 in each message received. Fields 26and 27 are checked to see whether the device is an intended recipient ofthe message. Revision number field 28 is checked to see whether theupdate is a newer version than the current operating software that needsto be loaded. Error-checking of data 24 is carried out using checksum25. If the device is not an intended recipient, the update does not needto be loaded or error-checking fails processing returns to step 31. Ifthe packet passes all checks the packet is stored and processing movesto step 34. If all packets in a series have not been received processingreturns to step 31. If all packets have been received the operatingsoftware is reassembled from the packets in step 35.

In step 36 the reassembled operating software is error checked using theerror checking information 22 in the final Cell Broadcast message (FIG.3 d). If error-checking fails processing returns to step 31. Iferror-checking is successful the new operating software is loaded instep 38. An acknowledgement may be sent via SMS or GPRS to the networkoperator if desired in step 39.

Although the above description is in relation to an operating softwarefile is to be appreciated that it applies equally to any type of controlfile.

Where security is required the payload may be encrypted with each mobiledevice having appropriate decryption functionality. Further, thehardware design of the mobile device many be such as to enhance securityalso.

An operator of a GSM network has the ability to personalize mobilephones by programming network specific features, such as menus, into SIMcards or the like. Updating these cards is inconvenient as the customermust either bring their phone in all the network operator must send outa new SIM card. The method previously described enables an operator toupdate the software and/or data of the SIM card components using CellBroadcast messages.

Referring now to FIGS. 6 and 7 an embodiment of a system for updatingcontrol files of remote devices is shown. Central controller 40generates Cell Broadcast messages to be sent by transmitters 41 to 43 ofa GSM network, as in the network shown in FIG. 1. In this case theremote devices include a receiver 44 and a control unit 45. The receiver44 may be a standard mobile device Interfaced to control unit 45 via acable or wireless connection such as an infrared or Bluetooth link.Alternatively receiver 44 and control unit 45 may be an integrated unit.Control unit 45 may be associated with a utility meter, monitoringdevice, consumer appliances, security system, vending machine etc.

As shown in FIG. 7 the control unit 45 may Include a central processingunit 46, programmable memory 47 which stores operating software andoperational parameters, temporary memory 48, and an interface unit 49for interfacing between the CPU 46 and sensors 50 and actuators 51.

In a vending application sensors 50 may sense characteristics of coinsplaced in the vending machine and actuators 51 may control the releaseof the vended product and coins etc. Operating software may be stored inprogrammable memory 47 which may be updated utilising Cell Broadcastmessages as previously described. Further, operating parameters (i.e.parameters which govern the operation of a device, such as coincharacteristic parameters which define acceptable coins) may be storedin programmable memory 47 which may also be updated utilising the CellBroadcast method previously described. This avoids the need for atechnician to update each individual device and enables rapid andsimultaneous updating of an entire system.

The Cell Broadcast method previously described may also be utilised tosend commands to connected devices. For example, in an environmentalsensing application a control command may be sent to all connecteddevices instructing them to obtain a measurement from a sensor uponreceipt of a control command. In a security application a command may besent to check security sensors and send a status report to a centralmonitoring station.

In view of the typical error rates of mobile connections it is desirableto send a number of small packets of data rather than one or a few largepackets. Should an error occur in a large packet the entire packet mustbe resent whereas for small packets only one or a small number must beresent. The use of Cell Broadcast messages is thus advantageous within acellular network.

By modular design of operating system software those parts most likelyto require updating may be stored in separate files to facilitateupdating. This lessens the amount of data that must be sent to achievean upgrade and so increases efficiency and reliability.

There is thus provided a method enabling the simultaneous updating ofcontrol files of a plurality of remote devices via Cell Broadcastmessages in a manner that is transparent to the end user. The method isparticularly advantageous where a large number of devices need to beupdated with a relatively small amount of data. The method is rapid andimposes minimal overhead on a network provider. The method enables afrequency of upgrade of control files that would not be possible on apeer to peer basis. The method may be used to update SIM cards. Themethod may also be utilised to send commands to remote devices.

While the present invention has been illustrated by the description ofthe embodiments thereof, and while the embodiments have been describedin detail, it is not the intention of the Applicant to restrict or inany way limit the scope of the appended claims to such detail.Additional advantages and modifications will readily appear to thoseskilled in the art. Therefore, the invention in its broader aspects isnot limited to the specific details, representative apparatus andmethod, and illustrative examples shown and described. Accordingly,departures may be made from such details without departure from thespirit or scope of the Applicant's general inventive concept.

1. A method of transferring a control file from a source device to aremote device via a cellular communication network comprising the stepsof: i. packing a control file into one or more Cell Broadcast message;ii. transmitting the one or more Cell Broadcast message via one or morewireless transmitter; iii. receiving the Cell Broadcast messages at aremote device; and iv. extracting and reassembling the control file atthe remote device.
 2. A method as claimed in claim 1 including the stepof integrating the control file into said remote device.
 3. A method asclaimed in claim 1 including the step of executing instructions in saidcontrol file in said remote device.
 4. A method as claimed in any one ofthe preceding claims wherein the control file is divided into aplurality of packets in step i.
 5. A method as claimed in any one ofclaims 1 to 4 wherein the control file is operating software.
 6. Amethod as claimed in any one of claims 1 to 4 wherein the control filecontains one or more operational parameter.
 7. A method as claimed inany one of claims 1 to 4 wherein the control file includes one or morecontrol command.
 8. A method as claimed in any one of claims 1 to 4wherein the control file is a SIM card file.
 9. A method as claimed inany one of claims 1 to 8 wherein the remote device is a cellular phone.10. A method as claimed in any one of claims 1 to 7 wherein the remotedevice includes a utility meter.
 11. A method as claimed in any one ofclaims 1 to 7 wherein the remote device includes a monitoring device.12. A method as claimed in any one of claims 1 to 7 wherein the remotedevice includes a consumer appliance.
 13. A method as claimed in any oneof claims 1 to 7 wherein the remote device includes a security system.14. A method as claimed in any one of claims 1 to 7 wherein the remotedevice includes a vending machine.
 15. A method as claimed in any one ofthe preceding claims wherein each packet of user data sent in each CellBroadcast message includes error-checking data.
 16. A method as claimedin any one of the preceding claims wherein a final message is sentcontaining error-checking data to enable error checking of thereassembled control file.
 17. A method as claimed in any one of thepreceding claims wherein each message includes a generic device typedata section.
 18. A method as claimed in claim 17 wherein each messagepacket includes a specific device type data section.
 19. A method asclaimed in any one of the preceding claims wherein each message includesa revision number data section.
 20. A method as claimed in any one ofthe preceding claims wherein the message code field of a Cell Broadcastmessage is used to indicate the number of a message packet in a sequenceof packets.
 21. A method as claimed in any one of the preceding claimswherein an acknowledgement is sent to the source device when updatedcontrol file has been loaded.
 22. A system for simultaneously sending acontrol file to a plurality of remote devices via a cellularcommunications network including: a central controller which divides thecontrol file into a plurality of data packets and provides the datapackets to a plurality of wireless transmitters of a cellularcommunication network; and a plurality of wireless transmitters of acellular communication system which transmit the data packets as part ofCell Broadcast messages to each remote device.
 23. A system as claimedin claim 22 wherein the system generates error-checking data as part ofeach data packet.
 24. A system as claimed in claim 22 or claim 23wherein the system generates a final data packet containingerror-checking information to enable error-checking of the reassembledcontrol file.
 25. A system as claimed in any one of claims 22 to 24wherein the system generates a generic device type data section forinclusion in each Cell Broadcast message.
 26. A system as claimed in anyone of claims 22 to 25 wherein the system generates a specific devicetype data section for inclusion in each Cell Broadcast message.
 27. Asystem as claimed in any one of claims 22 to 26 wherein the systemgenerates a revision number data section for inclusion in each CellBroadcast message.
 28. A remotely updatable device programmed to operatein accordance with a control file comprising: a radio receiver capableof receiving Cell Broadcast messages; a processor for extracting userdata from Cell Broadcast messages and assembling it into a control file;and programmable memory for storing a received assembled control file.29. A device as claimed in claim 28 wherein the programmable memorystores operating software that is updatable by a control file receivedin Cell Broadcast messages.
 30. A device as claimed in claim 28 whereinthe programmable memory stores firmware software that is updatable by acontrol file received in Cell Broadcast messages.
 31. A device asclaimed in claim 28 wherein the programmable memory stores one or moreoperational parameter that is updatable by a control file received inCell Broadcast messages.
 32. A device as claimed in claim 28 wherein theprogrammable memory stores one or more control command that is updatableby a control file received in Cell Broadcast messages.
 33. A device asclaimed in claim 28 wherein the device is responsive to one or morecontrol command sent as part of a Cell Broadcast to initiate an action.34. A device as claimed in any one of claims 28 to 33 wherein the deviceis a cellular phone.
 35. A device as claimed in any one of claims 28 to33 wherein the device includes a utility meter which operates inaccordance with the control file.
 36. A device as claimed in any one ofclaims 28 to 33 wherein the device includes a monitoring device whichoperates in accordance with the control file.
 37. A device as claimed inany one of claims 28 to 33 wherein the device includes a consumerappliance which operates in accordance with the control file.
 38. Adevice as claimed in any one of claims 28 to 33 wherein the deviceincludes a security device which operates in accordance with the controlfile.
 39. A device as claimed in any one of claims 28 to 33 wherein thedevice includes a vending machine which operates in accordance with thecontrol file.
 40. A device as claimed in any one of claims 28 to 39wherein the programmable memory is EPROM, EEPROM or Flash memory.
 41. Adevice as claimed in any one of claims 28 to 39 wherein the programmablememory is a SIM card
 42. A system including a system as claimed in anyone of claims 22 to 27 and one or more remotely updatable device asclaimed in any one of claims 28 to
 41. 43. A system for performing themethod of any one of claims 1 to 21.